package com.love.usedcar.mapper;

import java.util.List;
import com.love.usedcar.domain.UsedCarConfig;
import org.apache.ibatis.annotations.Param;

/**
 * 车辆配置（管理车辆配置项）Mapper接口
 * 
 * @author love
 * @date 2025-10-01
 */
public interface UsedCarConfigMapper 
{
    /**
     * 查询车辆配置（管理车辆配置项）
     * 
     * @param configId 车辆配置（管理车辆配置项）主键
     * @return 车辆配置（管理车辆配置项）
     */
    public UsedCarConfig selectUsedCarConfigByConfigId(Long configId);

    /**
     * 查询车辆配置（管理车辆配置项）列表
     * 
     * @param usedCarConfig 车辆配置（管理车辆配置项）
     * @return 车辆配置（管理车辆配置项）集合
     */
    public List<UsedCarConfig> selectUsedCarConfigList(UsedCarConfig usedCarConfig);

    /**
     * 新增车辆配置（管理车辆配置项）
     * 
     * @param usedCarConfig 车辆配置（管理车辆配置项）
     * @return 结果
     */
    public int insertUsedCarConfig(UsedCarConfig usedCarConfig);

    /**
     * 修改车辆配置（管理车辆配置项）
     * 
     * @param usedCarConfig 车辆配置（管理车辆配置项）
     * @return 结果
     */
    public int updateUsedCarConfig(UsedCarConfig usedCarConfig);

    /**
     * 删除车辆配置（管理车辆配置项）
     * 
     * @param configId 车辆配置（管理车辆配置项）主键
     * @return 结果
     */
    public int deleteUsedCarConfigByConfigId(Long configId);

    /**
     * 批量删除车辆配置（管理车辆配置项）
     * 
     * @param configIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUsedCarConfigByConfigIds(Long[] configIds);

    /**
     * 根据车辆ID查询配置名称
     * @param carId 车辆ID
     * @return 配置名称
     */
    List<String> selectConfigNamesByCarId(@Param("carId") Long carId);
}
